Virtual reality streaming systems are currently available, but require a very large amount of bandwidth in order to steam the virtual reality data to each virtual reality streaming system since each virtual reality streaming system has to have the virtual reality data sent to the virtual reality streaming system over a network or other communications path. Thus, it is desirable to be able to reduce the bandwidth required for each virtual reality streaming system. One of the ways of reducing bandwidth consumption in virtual reality (VR) video streaming systems is to restrict the stream to only provide high quality VR data for what is in the view of the headset (known as the viewport). These systems consist of a streaming server (herein called the “server”) and a player that continuously plays the streamed video on a display device (such as a VR Headset, mobile phone with viewing accessory, or any other plain display device capable of displaying video or images—the hardware and software may be collectively known as a “headset”). In particular, the video is streamed over some network connection between the headset and the server. The high quality video stream itself is restricted to the view that the headset expects, and continuously changes based on the direction the headset is pointing at, trying to maintain a continuous synchronization between the headset and the server. This allows a viewer to experience VR video in a manner similar to what the viewer would experience had the video been playing locally (i.e., without a streaming server) on the headset.
The video stream itself is derived from full frames of a 360-degree video that are intended to be projected on a virtual sphere around the headset, with the headset at the center of this sphere. Only the part of the sphere that the headset is pointed at inside this sphere is what is visible inside the headset. In optimized systems, the video stream will contain only high quality video for the portion that is visible. The part of the frame that is visible is called “in-view” and the rest is referred to as “out-of-view”
Depending upon the specific streaming system, the options for streaming what is not in-view may be as follows:                1. Don't stream out of view        2. Stream out of view at a lower resolution        3. Stream a limited form of the out-of-view to cover emergency situations.        4. Project the out-of-view onto other geometric shapes to reduce the number of pixels occupied by them.        
There may be other options, but they will all revolve around focusing the bandwidth consumption primarily on what is in-view. In such systems, the headset has to constantly send the server the position of the headset, including the direction that the headset is pointed. The server uses this information to calculate which part of the next frame will be the “in-view” and must be sent to the headset. However, even these systems still send more data that may be required by the virtual reality system and it is desirable to be able to further reduce the bandwidth of the virtual reality data that must be streamed to these systems.